const Generator = require('yeoman-generator')

//导出继承yeoman-generator的类型
module.exports = class extends Generator{
    prompting(){
        // Yeoman在询问用户环节会自动调用次方法
        // 在此方法中可以调用父类中的peompt()方法发出对用户的命令行询问
        return this.prompt([
            {
                type:'input',
                name:'name',
                message:'Your project name',
                default:this.appname
            }
        ])
        // 接受用户输入后的结果
        .then(answers =>{
            this.answers = answers
        })
    }
    weiting(){
        //Yeoman 自动在生成文件阶段调用此方法


        //高度封装的fs模块

        // this.fs.write(

                //写入文件的路径
        //     this.destinationPath('de.txt')

               // 写入文件的内容
        //     Math.random().toString()

        // )

        //通过模板方式写入文件到目标目录

        //模板文件路径
        // const tmpl = this.templatePath('foo.txt')
        const output = this.templatePath('bar.html')

        //输出路径
        // const output = this.destinationPath('foo.txt')
        const output = this.destinationPath('bar.html')

        //数据上下文
        const contet = this.answers

        this.fs.copyTpl(tmpl,output,contet)
    }
}